package com.sugon.dao;

import com.sugon.entity.DevMaintenThirdpartyCbEntity;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 设备维修第三方回调数据Dao
 *
 * @author sugon
 * @date 2022-07-30 14:14:34
 */
public interface DevMaintenThirdpartyCbDao extends BaseDao<DevMaintenThirdpartyCbEntity> {

    /**
     * 回调数据有效
     */
    Integer VALID = 1;

    /**
     * 回调数据无效
     */
    Integer INVALID = 0;

    /**
     * 根据设备ID和维修阶段查询 设备维修的第三方回调信息
     * 有有效的回调记录
     *
     * @param devId       设备ID
     * @param category    维修分类
     * @param busId       THINWORKS平台的业务ID
     * @param repairStage 维修阶段
     * @return
     */
    List<DevMaintenThirdpartyCbEntity> queryByDevIdAndStage(@Param("devId") String devId, @Param("category") String category, @Param("busId") String busId, @Param("repairStage") Integer repairStage);

    /**
     * 根据业务ID获取对应的第三方回调记录信息，且有效的
     *
     * @param busId 第三方业务ID
     * @return
     */
    List<DevMaintenThirdpartyCbEntity> queryByBusId(@Param("busId") String busId);

    /**
     * 更新回调西悉尼中的ERMS系统业务ID
     *
     * @param id
     * @param ermsBusId ERMS系统业务ID
     * @return
     */
    @Update("UPDATE DEV_MAINTEN_THIRDPARTY_CB SET ERMS_BUS_ID = #{ermsBusId} WHERE ID = #{id}")
    int updateErmsBusId(@Param("id") String id, @Param("ermsBusId") String ermsBusId);

}
